package com.gkt.ec.cms.activity.model.domain;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.sql.Timestamp;
import java.util.Arrays;
import java.util.Date;

/**
 * @author Huzl
 * @version 1.0.0
 */
public class CustomerActivityEntity {
    private long id;
    private long activityId;
    private String customId;
    private String vehicleId;
    private String verifyCode;
    private Long verifyCompanyId;
    private String customerTel;
    //用户昵称
    private String middleName;
    //品牌
    private String vehicleBrand;
    //车辆型号
    private String vehicleSeries;
    //车牌
    private String vehicleLicense;
    private long companyId;
    private Integer verifyStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date userVerifyTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date companyVerifyTime;
    private Integer smsSendStatus;
    private Timestamp smsSendTime;
    private Timestamp updateTime;
    private Timestamp createTime;
    private String createUser;
    private String updateUser;
    private String[] customerInfos;

//    private String searchGender;
//    private String searchAge;
//    private String searchMills;
//    private String searchAgeLimit;
//    private String searchStartTime;
//    private String searchEndTime;

    public String getMiddleName() {
        return middleName;
    }

    public void setMiddleName(String middleName) {
        this.middleName = middleName;
    }

    public String getVehicleBrand() {
        return vehicleBrand;
    }

    public void setVehicleBrand(String vehicleBrand) {
        this.vehicleBrand = vehicleBrand;
    }

    public String getVehicleSeries() {
        return vehicleSeries;
    }

    public void setVehicleSeries(String vehicleSeries) {
        this.vehicleSeries = vehicleSeries;
    }

    public String[] getCustomerInfos() {
        return customerInfos;
    }

    public void setCustomerInfos(String[] customerInfos) {
        this.customerInfos = customerInfos;
    }

    public long getId() {
        return id;
    }

    public CustomerActivityEntity setId(long id) {
        this.id = id;
        return this;
    }

    public long getActivityId() {
        return activityId;
    }

    public CustomerActivityEntity setActivityId(long activityId) {
        this.activityId = activityId;
        return this;
    }

    public String getCustomId() {
        return customId;
    }

    public CustomerActivityEntity setCustomId(String customId) {
        this.customId = customId;
        return this;
    }

    public String getVehicleId() {
        return vehicleId;
    }

    public String getVehicleLicense() {
        return vehicleLicense;
    }

    public CustomerActivityEntity setVehicleLicense(String vehicleLicense) {
        this.vehicleLicense = vehicleLicense;
        return this;
    }

    public CustomerActivityEntity setVehicleId(String vehicleId) {
        this.vehicleId = vehicleId;
        return this;
    }

    public String getVerifyCode() {
        return verifyCode;
    }

    public CustomerActivityEntity setVerifyCode(String verifyCode) {
        this.verifyCode = verifyCode;
        return this;
    }

    public Long getVerifyCompanyId() {
        return verifyCompanyId;
    }

    public CustomerActivityEntity setVerifyCompanyId(Long verifyCompanyId) {
        this.verifyCompanyId = verifyCompanyId;
        return this;
    }

    public Date getUserVerifyTime() {
        return userVerifyTime;
    }

    public CustomerActivityEntity setUserVerifyTime(Date userVerifyTime) {
        this.userVerifyTime = userVerifyTime;
        return this;
    }

    public Date getCompanyVerifyTime() {
        return companyVerifyTime;
    }

    public CustomerActivityEntity setCompanyVerifyTime(Date companyVerifyTime) {
        this.companyVerifyTime = companyVerifyTime;
        return this;
    }

    public String getCustomerTel() {
        return customerTel;
    }

    public CustomerActivityEntity setCustomerTel(String customerTel) {
        this.customerTel = customerTel;
        return this;
    }

    public long getCompanyId() {
        return companyId;
    }

    public CustomerActivityEntity setCompanyId(long companyId) {
        this.companyId = companyId;
        return this;
    }

    public Integer getVerifyStatus() {
        return verifyStatus;
    }

    public CustomerActivityEntity setVerifyStatus(Integer verifyStatus) {
        this.verifyStatus = verifyStatus;
        return this;
    }

    public Integer getSmsSendStatus() {
        return smsSendStatus;
    }

    public CustomerActivityEntity setSmsSendStatus(Integer smsSendStatus) {
        this.smsSendStatus = smsSendStatus;
        return this;
    }

    public Timestamp getSmsSendTime() {
        return smsSendTime;
    }

    public CustomerActivityEntity setSmsSendTime(Timestamp smsSendTime) {
        this.smsSendTime = smsSendTime;
        return this;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public CustomerActivityEntity setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public CustomerActivityEntity setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
        return this;
    }

    public String getCreateUser() {
        return createUser;
    }

    public CustomerActivityEntity setCreateUser(String createUser) {
        this.createUser = createUser;
        return this;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public CustomerActivityEntity setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
        return this;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        CustomerActivityEntity that = (CustomerActivityEntity) o;

        if (id != that.id) return false;
        if (activityId != that.activityId) return false;
        if (companyId != that.companyId) return false;
        if (customId != null ? !customId.equals(that.customId) : that.customId != null) return false;
        if (vehicleId != null ? !vehicleId.equals(that.vehicleId) : that.vehicleId != null) return false;
        if (verifyCode != null ? !verifyCode.equals(that.verifyCode) : that.verifyCode != null) return false;
        if (verifyStatus != null ? !verifyStatus.equals(that.verifyStatus) : that.verifyStatus != null) return false;
        if (smsSendStatus != null ? !smsSendStatus.equals(that.smsSendStatus) : that.smsSendStatus != null)
            return false;
        if (smsSendTime != null ? !smsSendTime.equals(that.smsSendTime) : that.smsSendTime != null) return false;
        if (updateTime != null ? !updateTime.equals(that.updateTime) : that.updateTime != null) return false;
        if (createTime != null ? !createTime.equals(that.createTime) : that.createTime != null) return false;
        if (createUser != null ? !createUser.equals(that.createUser) : that.createUser != null) return false;
        if (updateUser != null ? !updateUser.equals(that.updateUser) : that.updateUser != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = (int) (id ^ (id >>> 32));
        result = 31 * result + (int) (activityId ^ (activityId >>> 32));
        result = 31 * result + (customId != null ? customId.hashCode() : 0);
        result = 31 * result + (vehicleId != null ? vehicleId.hashCode() : 0);
        result = 31 * result + (verifyCode != null ? verifyCode.hashCode() : 0);
        result = 31 * result + (int) (companyId ^ (companyId >>> 32));
        result = 31 * result + (verifyStatus != null ? verifyStatus.hashCode() : 0);
        result = 31 * result + (smsSendStatus != null ? smsSendStatus.hashCode() : 0);
        result = 31 * result + (smsSendTime != null ? smsSendTime.hashCode() : 0);
        result = 31 * result + (updateTime != null ? updateTime.hashCode() : 0);
        result = 31 * result + (createTime != null ? createTime.hashCode() : 0);
        result = 31 * result + (createUser != null ? createUser.hashCode() : 0);
        result = 31 * result + (updateUser != null ? updateUser.hashCode() : 0);
        return result;
    }

    @Override
    public String toString() {
        return "CustomerActivityEntity{" +
                "id=" + id +
                ", activityId=" + activityId +
                ", customId='" + customId + '\'' +
                ", vehicleId='" + vehicleId + '\'' +
                ", verifyCode='" + verifyCode + '\'' +
                ", verifyCompanyId=" + verifyCompanyId +
                ", customerTel='" + customerTel + '\'' +
                ", vehicleLicense='" + vehicleLicense + '\'' +
                ", companyId=" + companyId +
                ", verifyStatus=" + verifyStatus +
                ", userVerifyTime=" + userVerifyTime +
                ", companyVerifyTime=" + companyVerifyTime +
                ", smsSendStatus=" + smsSendStatus +
                ", smsSendTime=" + smsSendTime +
                ", updateTime=" + updateTime +
                ", createTime=" + createTime +
                ", createUser='" + createUser + '\'' +
                ", updateUser='" + updateUser + '\'' +
                ", customerInfos=" + Arrays.toString(customerInfos) +
                '}';
    }
}
